目标字符串:
发布(<span class="aaa">企业</span>类)-关于 <span class="bbb">某某某</span>的通知
方式一:用substring傻瓜式替换
String str1 = "<span class=\"aaa\">";
String str2 = "</span>";
String str3 = "<span class=\"bbb\">";
String tmp1 ="";
String tmp2 ="";
if(messageTitle.contains(str1)){
tmp1 = messageTitle.substring(messageTitle.indexOf(str1)+str1.length(),messageTitle.indexOf(str2));
messageTitle = messageTitle.replace(str1+tmp1+str2,tmp1);
tmp2 = messageTitle.substring(messageTitle.indexOf(str3)+str3.length(),messageTitle.indexOf(str2));
messageTitle = messageTitle.replace(str3+tmp2+str2,tmp2);
}
缺点:如果 <span 换成 <div 就不能匹配了
方式二:循环替换
while (messageTitleTmp.contains("<")){
messageTitleTmp = messageTitleTmp.replaceAll(messageTitleTmp.substring(messageTitleTmp.indexOf("<"),messageTitleTmp.indexOf(">")+1),"");
}
感觉还可以,但是还是有点麻烦,既然replaceAll支持正则,那必须要用上
方式三:正则替换
messageTitleTmp = messageTitleTmp.replaceAll("<(.*?)>","");